home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)t6.d64 / bowling.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  3KB  |  101 lines

  1. 1 REM BY JOSEPH GANCI
  2. 2 REM COMPUT!'S GAZZETTE DECEMBER 1983
  3. 3 REM UPGRADED BY MIKE FLAVEL
  4. 10 L(1)=1193:L(2)=1273:L(3)=1353:C$(1)=""
  5. 11 C$(2)=C$(1)+"":C$(3)=C$(2)+"":C$=C$(1)
  6. 12 BO=53280:SC=53281:CO=54272:SC(1)=15:SC(2)=0:SC(3)=7:BO(1)=13:BO(2)=2
  7. 15 BO(3)=9
  8. 17 FORT=COTOCO+24:POKET,0:NEXT:POKECO+24,15:POKECO+5,17:POKECO+6,241:POKECO,30
  9. 18 POKECO+1,10
  10. 110 POKEBO,6:POKESC,7:PRINT"[147][144]"C$"[145][145][145][145][145]BOWLING!"
  11. 112 PRINT"HOW MANY PLAYERS (1-3)"
  12. 113 GETA$:A=VAL(A$):IFA<1ORA>3THEN113
  13. 115 X$="NAMES":IFA=1THENX$="NAME"
  14. 118 PRINT"[147]TYPE IN YOUR ";X$
  15. 120 FORX=1TOA
  16. 121 PRINT"PLAYER"X":";
  17. 122 INPUTA$(X)
  18. 123 A$(X)=LEFT$(A$(X),6):NEXT
  19. 128 PRINT"[147][144]1 2 3 4 5 6 7 8 9 10  [146]":PRINT"";
  20. 129 FORX=1TO10:PRINT"1[146]2";:NEXT:PRINT"3[146]"
  21. 132 PRINTTAB(8)"[144][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196]":PRINTTAB(8)"[196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196]"
  22. 133 ON-(A=1)GOTO138
  23. 134 PRINTTAB(7)" [196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196]":ON-(A=2)GOTO138
  24. 136 PRINTTAB(7)" [196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196]"
  25. 138 PRINTLEFT$(C$,12)+" "+A$(1)":"
  26. 146 IFA>1THENPRINTTAB(14)+"[145]"+A$(2)":"
  27. 150 IFA>2THENPRINTTAB(27)+"[145]"+A$(3)":"
  28. 154 PRINTLEFT$(C$,12)"[144][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198]"
  29. 156 PRINT"[197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197]"
  30. 160 FORQ=1TO10
  31. 166 FORZ9=1TOA:POKESC,SC(Z9)+8:POKEBO,BO(Z9)+8
  32. 167 FORX=1TO10:READV:POKEV,81:POKEV+CO,6:NEXT:RESTORE
  33. 169 J=0:G=0
  34. 170 GOSUB430:GOSUB550:P=L(Z9):GOSUB1000:L(Z9)=P
  35. 172 GOSUB1200
  36. 174 ON-(L(Z9)/2=INT(L(Z9)/2))GOTO169
  37. 175 IF(PEEK(L(Z9)-1)=47ANDQ=10)=0THEN195
  38. 178 PRINTLEFT$(C$,12)+""+A$(Z9)+", THROW ONE MORE!"
  39. 180 FORX=1TO3000:NEXT
  40. 182 PRINTLEFT$(C$,12)+""+"                       "
  41. 183 REM  PRINT"             "
  42. 184 FORX=1TO10:READV:POKEV,81:POKEV+CO,6:NEXT:RESTORE
  43. 190 J=0:GOSUB430:GOSUB550:T(Z9)=T(Z9)+J:PRINTC$(Z9);T(Z9)
  44. 192 K=J+48:IFJ+PEEK(L(Z9)-1)-224=10THENK=47
  45. 193 IFK=58THENK=152
  46. 194 POKEL(Z9),K:POKEL(Z9)+CO,4:GOTO225
  47. 195 U=0:IF(PEEK(L(Z9)-2)=152ANDQ=10)=0THEN225
  48. 198 PRINTLEFT$(C$,12)+""+A$(Z9)+", THROW TWO MORE!"
  49. 202 FORX=1TO3000:NEXT
  50. 203 PRINTLEFT$(C$,12)+""+"                      "
  51. 206 L(Z9)=L(Z9)-1
  52. 207 FORX=1TO10:READV:POKEV,81:POKEV+CO,6:NEXT:RESTORE
  53. 209 J=0:GOSUB430:GOSUB550:T(Z9)=T(Z9)+J:PRINTC$(Z9);T(Z9)
  54. 210 K=J+176:IFK=186THENK=152
  55. 211 POKEL(Z9),K:POKEL(Z9)+CO,4:L(Z9)=L(Z9)+1
  56. 213 IFPEEK(L(Z9))=152THENFORX=1TO10:READV:POKEV,81:POKEV+CO,6:NEXT:RESTORE
  57. 214 U=U+1:ONUGOTO209,225
  58. 225 NEXTZ9:NEXTQ
  59. 230 GOTO882
  60. 430 N=1827:I=40
  61. 440 POKEN,32:N=N+I:IFN<1624ORN>1868THENI=-I
  62. 460 POKEN+CO,-(PEEK(SC)=249):POKEN,81:GETA$:ON-(A$="")GOTO440:RETURN
  63. 550 N=N+1:GETA$
  64. 554 IFPEEK(N)<>81THEN595
  65. 558 Q2=N:GOSUB610
  66. 560 POKECO+4,17:POKEN-1,32:POKEN+CO,-(PEEK(SC)=240):POKEN,81:POKECO+4,16
  67. 562 FORW=1TO3
  68. 566 IFPEEK(N-39*W)=81THENQ2=N-39*W:GOSUB610
  69. 569 IFPEEK(N+41*W)=81THENQ2=N+41*W:GOSUB610
  70. 572 NEXT
  71. 595 POKECO+4,17:H=H+1:POKEN-1,32:POKEN+CO,-(PEEK(SC)=240):POKEN,81:POKECO+4,16
  72. 597 IFH=36THEN612
  73. 600 GOTO550
  74. 610 J=J+1:POKECO+4,33:POKEQ2,32:FORT=1TO50:NEXT:POKECO+4,32:RETURN
  75. 612 H=0:POKEN,32:POKEN-1,32:RETURN
  76. 882 PRINTC$;"[152]FINAL SCORES[144]"
  77. 883 PRINT""A$(1);T(1):IFA<1THENPRINT""A$(2);T(2)
  78. 884 IFA=3THENPRINT"";A$(3);T(3)
  79. 887 PRINT"AGAIN (Y/N)?"
  80. 894 GETA$:IFA$=""THEN     894
  81. 895 IFA$="Y"THENRUN
  82. 896 SYS2048
  83. 1000 G=J:IFP/2<>INT(P/2)THENG=G+176
  84. 1002 IFG=186THENG=152
  85. 1004 IFP/2=INT(P/2)THENG=G+48
  86. 1006 IFG+PEEK(P-1)-224=10THENG=47
  87. 1012 POKEP,G:POKEP+CO,12:IFG=152THENP=P+1:G=0
  88. 1100 P=P+1:RETURN
  89. 1200 REM **SCORING**
  90. 1201 T(Z9)=T(Z9)+J
  91. 1205 T(Z9)=T(Z9)-J*(PEEK(L(Z9)-2)=47)
  92. 1210 T(Z9)=T(Z9)-10*(PEEK(L(Z9)-3)=47ANDPEEK(L(Z9)-2)=152)
  93. 1220 IFL(Z9)=1272ORL(Z9)=1352ORL(Z9)=1432THEN1290
  94. 1225 T(Z9)=T(Z9)-J*(PEEK(L(Z9)-4)=152)
  95. 1227 T(Z9)=T(Z9)-J*(PEEK(L(Z9)-3)=152)
  96. 1228 T(Z9)=T(Z9)-J*((PEEK(L(Z9)-5)=152ANDPEEK(L(Z9)-3)=152))
  97. 1230 T(Z9)=T(Z9)-J*(PEEK(L(Z9)-6)=152ANDPEEK(L(Z9)-4)=152ANDPEEK(L(Z9)-2)=152)
  98. 1290 PRINTC$(Z9);T(Z9)
  99. 1300 RETURN
  100. 2200 DATA1661,1700,1739,1741,1778,1780,1819,1821,1860,1901
  101.